package org.yuanqiframework.yuanqi.boot.sys.dto;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * @TableName sys_user
 */
@Data
public class SysUserDTO implements Serializable {

    /**
     * 登录名称
     */
    @NotBlank(message = "[登录名称]不能为空")
    @Size(max = 100, message = "编码长度不能超过100")
    @Length(max = 100, message = "编码长度不能超过100")
    private String username;
    /**
     * 昵称
     */
    @NotBlank(message = "[昵称]不能为空")
    @Size(max = 100, message = "编码长度不能超过100")
    @Length(max = 100, message = "编码长度不能超过100")
    private String nickname;

    /**
     * 性别0：男 1：女
     */
    @NotNull(message = "[性别不能为空")
    private String sex;


    /**
     * 手机号
     */
    @Size(max = 20, message = "编码长度不能超过20")
    @Length(max = 20, message = "编码长度不能超过20")
    private String phone;
    /**
     * 电子邮箱号
     */
    @Size(max = 100, message = "编码长度不能超过100")
    @Length(max = 100, message = "编码长度不能超过100")
    private String email;
    /**
     * 头像地址
     */
    @Size(max = 500, message = "编码长度不能超过500")
    @Length(max = 500, message = "编码长度不能超过500")
    private String avatar;
    /**
     * 角色
     */
    @NotEmpty(message = "[角色]不能为空")
    private List<String> roles;
    /**
     * 状态0：正常 1：异常
     */
    @NotNull(message = "[状态]不能为空")
    private String status;
    /**
     * 部门ID
     */
    @NotBlank(message = "[部门ID]不能为空")
    @Size(max = 200, message = "编码长度不能超过200")
    @Length(max = 200, message = "编码长度不能超过200")
    private String deptId;
}
